package hotel.compare.oversea.service;

import hotel.base.oversea.dto.master.CompareHotelBasicRoomDto;
import hotel.base.oversea.entity.master.CompareHotelBasicRoom;
import hotel.base.oversea.service.BaseService;
import hotel.base.oversea.utils.Result;

/**
 * 校验后酒店房型信息
 *
 * @author HuangT
 * @date 2020/6/30 17:21
 */
public interface CompareHotelBasicRoomService extends BaseService<CompareHotelBasicRoom> {

    /**
     * <H1>获取校验后房型信息</H1>
     *
     * @param
     * @return hotel.base.oversea.utils.Result<java.lang.Object>
     * @author HuangT
     * @date 2020/7/1 18:27
    */
    Result<Object> getHotelBasicRoomInfo();

    /**
     * <H1>更新状态</H1>
     *
     * @param hotelBasicRoomInfo
     * @author HuangT
     * @date 2020/7/1 18:27
     * @return
    */
    Result<Object> updateCreateStateById(CompareHotelBasicRoomDto hotelBasicRoomInfo);

    /**
     * 根据携程母物理房型id 美团物理房型id 获取效验房型记录信息
     * @param switchRoomId
     * @param mtRoomId
     * @return
     */
    Result<CompareHotelBasicRoom> getCompareHotelBasicRoomInfo(int switchRoomId, int mtRoomId);
    /**
     * @author: lmf
     * @date: 2020/9/19 16:27
     * 根据携程的母酒店id + 母物理房型id 获取到美团对应的酒店id+ 房型id
     */
    Result<CompareHotelBasicRoom> getHotelRoomInfo(int masterHotelId, int roomId);

    /**
     * 根据携程物理房型id+美团的母物理房型id 获取是否有映射数据
     * @param switchRoomId
     * @param mtRoomId
     * @return
     */
    Result<CompareHotelBasicRoom> getHotelRoomInfoBySwitchRoomIdAndMtRoomId(int switchRoomId, int mtRoomId);

    /**
     * 根据美团酒店id+美团房型id 获取是否有映射
     * @param mtHotelId
     * @param mtRoomId
     * @return
     */
    Result<CompareHotelBasicRoom> getHotelRoomInfoByMtHotelIdAndMtRoomId(int mtHotelId, int mtRoomId);

    /**
     * 删除美团酒店id+美团房型id 对应的映射
     * @param mtHotelId
     * @param mtRoomId
     * @return
     */
    Result<Object> removeHotelRoomInfoByMtHotelIdAndMtRoomId(int mtHotelId, int mtRoomId);
}
